// let a: string = 'just do it'
// let b: null = null;
// let c: undefined = undefined;
// let d: number = 1;
// d=c;

//数组
// let arr = [1, 3, '35']
// let arr0: number[] = [1, 4, 54]
// let arr1: Array<number> = [3, 5]
// let arr2: (number | string)[] = [8, '3', 7]
// let arr3: Array<number | string> = [3, '5']
// let arr4:any[]=[3,4,'3']

// 元组
// let arr5: [string, number] = ['3', 5] 

//枚举
// enum obj {
//     a = 4, // 自定义值
//     b, // 当前面是数字值时，后面一个值是跟着前面一个的,所以b是5
//     c = 1,
//     d,//2
//     e = 'e',//值为字符串时，跟着它后面的就必须手动设一个值，可以是字符串，数字
//     f = 1,
//     g //2
// }

// let a:never;
// let d: number = 1;

// let ageObj = { age: 26 };
// const getAge = (obj: Object) => {
//     console.log(obj);

// }
// getAge(ageObj)

// let a: number | string;
// (a as string).length
// (<string>a).length

// const obj = {
//     [Symbol.hasInstance](other) {
//         console.log(other);

//     }
// }

// console.log({ a: '1' } instanceof <any>obj);
// let obj = {
//     [Symbol.match](string) {
//         console.log('match',string.length);

//     },
//     [Symbol.split](string) {
//         console.log('split', string.length);

//     },
// }
// 'abcde'.match(<RegExp>obj)
// Symbol.replace
// Symbol.search
// Symbol.split 

// 'abcde'.split(<any>obj)

// import './example/decorators'
// import './example/interface'
// import './example/func'
// import './example/generics'
import './example/class'